﻿Ext.define('HMSDesktop.ShortcutSettings', {
			extend : 'Ext.window.Window',
			title : '快捷方式设置',
			modal : true,
			width : 900,
			height : 500,
			border : false,
			desktop : null,
			layout : {
				type : 'border'
			},
			initComponent : function() {
				var me = this;
				me.leftStore = Ext.create('Ext.data.Store', {
							autoLoad : true,
							fields : [{
										name : 'Id'
									}, {
										name : 'Text'
									}, {
										name : 'IconCss48'
									}, {
										name : 'PageId'
									}],
							proxy : {
								type : 'ajax',
								url : '/Shortcuts/GetAllPageWithOutShortcut',
								reader : {
									type : 'json',
									root : ''
								}
							}

						});
				me.rightStore = Ext.create('Ext.data.Store', {
							autoLoad : true,
							fields : [{
										name : 'Id'
									}, {
										name : 'Text',
										mapping : 'Page.Text'
									}, {
										name : 'IconCss48',
										mapping : 'Page.IconCss48'
									}, {
										name : 'PageId',
										mapping : 'Page.PageId'
									}],
							proxy : {
								type : 'ajax',
								url : '/Shortcuts/GetCurrentUserShortcuts',
								reader : {
									type : 'json',
									root : ''
								}
							}

						});
				me.left = Ext.create('Ext.panel.Panel', {
							title : '功能模块',
							region : 'west',
							split : true,
							layout : 'fit',
							plain : true,
							frame : true,
							width : 400,
							autoScroll : true,
							items : [{
										xtype : 'dataview',
										overItemCls : 'x-view-over',
										listeners : {
											itemdblclick : me.leftItemdblclick,
											scope : me
										},
										itemSelector : 'div.appButton',
										store : me.leftStore,
										tpl : new Ext.XTemplate(me.ShortcutTpl)
									}]
						});

				me.center = Ext.create('Ext.panel.Panel', {
							title : '我的快捷方式',
							region : 'center',
							layout : 'fit',
							plain : true,
							frame : true,
							autoScroll : true,
							items : [{
										xtype : 'dataview',
										overItemCls : 'x-view-over',
										listeners : {
											itemdblclick : me.rightItemdblclick,
											scope : me
										},
										itemSelector : 'div.appButton',
										store : me.rightStore,
										tpl : new Ext.XTemplate(me.ShortcutTpl)
									}]
						});
				me.items = [me.left, me.center], me.buttons = [{
							text : '确定',
							handler : function() {
								me.desktop.shortcuts.load();
								me.close();
							},
							scope : me
						}, {
							text : '取消',
							handler : me.close,
							scope : me
						}];

				me.callParent();
			},

			ShortcutTpl : ['<tpl for=".">', '<div  class="appButton">',
					'<div class="appButton_appIcon {IconCss48}" ></div>',
					'  <div class="appButton_appName">',
					'<div  class="appButton_appName_inner">{Text}</div>',
					' </div>', '</div>', '</tpl>'],

			leftItemdblclick : function(dataView, record) {
				var me = this;
				Ext.Ajax.request({
							url : '/Shortcuts/AddShortcut',
							async : false,
							params : {
								'Page.Id' : record.data.Id
							},
							success : function(response) {
								var result = Ext.JSON
										.decode(response.responseText);
								if (Ext.isDefined(result)) {
									me.leftStore.load();
									me.rightStore.load();
								};

							}
						});
			},
			rightItemdblclick : function(dataView, record) {
				var me = this;
				Ext.Ajax.request({
							url : '/Shortcuts/DelShortcut',
							async : false,
							params : {
								'Id' : record.data.Id
							},
							success : function(response) {
								var result = Ext.JSON
										.decode(response.responseText);
								if (Ext.isDefined(result)) {
									me.leftStore.load();
									me.rightStore.load();
								};

							}
						});
			}
		});
